DegreeDay Function

public function DegreeDay(tempAir, tempMelt, cMelt) result(melt)

compute melt rate (m/s) using degreeday temperature based model

Arguments

Type IntentOptional Attributes Name
real(kind=float), intent(in) :: tempAir

air temperature (°C)

real(kind=float), intent(in) :: tempMelt

melting temperature (°C)

real(kind=float), intent(in) :: cMelt

melting coefficient (m/s/°C)

Return Value real(kind=float)

melt rate (m/s)


Source Code

FUNCTION DegreeDay   & 
  !
  ( tempAir, tempMelt, cMelt ) &
  !
RESULT (melt)

IMPLICIT NONE

!Arguments with intent(in):
REAL (KIND = float), INTENT(IN) :: tempAir !! air temperature (°C)
REAL (KIND = float), INTENT(IN) :: tempMelt !! melting temperature (°C)
REAL (KIND = float), INTENT(IN) :: cMelt !! melting coefficient (m/s/°C)

!local declarations:
REAL (KIND = float) :: melt !! melt rate (m/s)

!---------------------end of declarations--------------------------------------

IF ( tempAir <= tempMelt ) THEN
    melt = 0.
ELSE
   melt = cMelt * ( tempAir - tempMelt )	
END IF


RETURN
END FUNCTION DegreeDay